System Calls হলো এমন ফাংশন যা অপারেটিং সিস্টেমের কোর বা কার্নেলের সাথে যোগাযোগ করতে ব্যবহৃত হয়। Assembly Language প্রোগ্রামিংয়ে File I/O এবং Process Management পরিচালনার জন্য নির্দিষ্ট System Calls ব্যবহৃত হয়। System Calls ব্যবহার করে ফাইলের সাথে পড়া, লেখা, তৈরি করা এবং প্রক্রিয়া (process) তৈরি বা বন্ধ করার কাজ সম্পন্ন করা যায়।
Assembly Language-এ ফাইলের সাথে ইনপুট এবং আউটপুট অপারেশন পরিচালনা করার জন্য নিচের System Calls গুলি ব্যবহৃত হয়:
5
EAX
= 5 (System Call Number)EBX
= ফাইলের নামের পয়েন্টারECX
= ফাইলের ওপেন মোড (যেমন read-only, write-only)EDX
= পারমিশন (যদি নতুন ফাইল তৈরি করা হয়)উদাহরণ:
MOV EAX, 5 ; open system call
MOV EBX, file_name ; ফাইলের নামের পয়েন্টার
MOV ECX, 0 ; read-only মোড
INT 0x80 ; system call interrupt
3
EAX
= 3 (System Call Number)EBX
= ফাইল ডেসক্রিপ্টরECX
= ডেটা পড়ার জন্য বাফারের পয়েন্টারEDX
= পড়ার জন্য বাইটের সংখ্যাউদাহরণ:
MOV EAX, 3 ; read system call
MOV EBX, file_desc ; ফাইল ডেসক্রিপ্টর
MOV ECX, buffer ; ডেটা বাফারের পয়েন্টার
MOV EDX, 100 ; পড়ার জন্য বাইটের সংখ্যা
INT 0x80 ; system call interrupt
4
EAX
= 4 (System Call Number)EBX
= ফাইল ডেসক্রিপ্টর (স্ট্যান্ডার্ড আউটপুটের জন্য 1
)ECX
= লেখার জন্য বাফারের পয়েন্টারEDX
= লেখার জন্য বাইটের সংখ্যাউদাহরণ:
MOV EAX, 4 ; write system call
MOV EBX, 1 ; স্ট্যান্ডার্ড আউটপুট
MOV ECX, buffer ; লেখার জন্য ডেটা বাফার
MOV EDX, 100 ; লেখার জন্য বাইটের সংখ্যা
INT 0x80 ; system call interrupt
6
EAX
= 6 (System Call Number)EBX
= ফাইল ডেসক্রিপ্টরউদাহরণ:
MOV EAX, 6 ; close system call
MOV EBX, file_desc ; ফাইল ডেসক্রিপ্টর
INT 0x80 ; system call interrupt
Assembly Language-এ প্রসেস ম্যানেজমেন্টের জন্য ব্যবহৃত সাধারণ System Calls নিম্নরূপ:
2
EAX
= 2 (System Call Number)EAX
রেজিস্টারে 0
রিটার্ন হয় এবং প্যারেন্ট প্রসেসের ক্ষেত্রে এটি নতুন প্রসেসের PID রিটার্ন করে।11
EAX
= 11 (System Call Number)EBX
= প্রোগ্রামের নামের পয়েন্টারECX
= আর্গুমেন্টের পয়েন্টারEDX
= এনভায়রনমেন্টের পয়েন্টার1
EAX
= 1 (System Call Number)EBX
= রিটার্ন কোডউদাহরণ:
MOV EAX, 1 ; exit system call
MOV EBX, 0 ; রিটার্ন কোড 0 (সফল সমাপ্তি)
INT 0x80 ; system call interrupt
সারসংক্ষেপ
Assembly Language-এ File I/O এবং Process Management পরিচালনার জন্য System Calls ব্যবহৃত হয়। File I/O পরিচালনার জন্য open
, read
, write
, এবং close
System Calls ব্যবহার করা হয়। Process Management এর জন্য fork
, execve
, এবং exit
System Calls ব্যবহৃত হয়। এগুলি CPU এবং কার্নেলের মধ্যে যোগাযোগ করে কার্যকরী কার্যপ্রণালী সম্পন্ন করে এবং প্রোগ্রামের কার্যকারিতা নিশ্চিত করে।
common.read_more